Communication systems allow users to communicate with each other over a communication network e.g. by conducting a communication event over the network. The network may be, for example, the Internet or public switched telephone network (PSTN). During a call, audio and/or video signals can be transmitted between nodes of the network, thereby allowing users to transmit and receive audio data (such as speech) and/or video data (such as webcam video) to each other in a communication session over the communication network.
Such communication systems include Voice or Video over Internet protocol (VoIP) systems. To use a VoIP system, a user installs and executes client software on a user device. The client software sets up VoIP connections as well as providing other functions such as registration and user authentication. In addition to voice communication, the client may also set up connections for communication events, for instant messaging (“IM”), screen sharing, or whiteboard sessions.
A communication event may be conducted between a user(s) and an intelligent software agent, sometimes referred to as a “bot”. A software agent is an autonomous computer program that carries out tasks on behalf of users in a relationship of agency. The software agent runs continuously for the duration of the communication event, awaiting inputs which, when detected, trigger automated tasks to be performed on those inputs by the agent. A software agent may exhibit artificial intelligence (AI), whereby it can simulate certain human intelligence processes, for example to generate human-like responses to inputs from the user, thus facilitating a two-way conversation between the user and the software agent via the network.